package rs.udd.service.dto.agent;

import java.util.Date;
import java.util.HashSet;
import java.util.Set;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import rs.udd.model.Advert;
import rs.udd.model.Advertiser;
import rs.udd.model.Agent.Gender;
import rs.udd.service.dto.user.AbstractUserViewDto;

public class AgentViewDto extends AbstractUserViewDto {

	private Date birthDate;

	private Gender gender;

	private String folderWithCv;

	private Set<Advertiser> contactedByAdvertiser = new HashSet<Advertiser>();

	private Set<Advert> applicationsForAdvert = new HashSet<Advert>();
	
	private String indexedDocumentId;

	public AgentViewDto() {

	}

	public Date getBirthDate() {
		return birthDate;
	}

	public void setBirthDate(Date birthDate) {
		this.birthDate = birthDate;
	}

	public Gender getGender() {
		return gender;
	}

	public void setGender(Gender gender) {
		this.gender = gender;
	}

	public String getFolderWithCv() {
		return folderWithCv;
	}

	public void setFolderWithCv(String folderWithCv) {
		this.folderWithCv = folderWithCv;
	}

	public Set<Advertiser> getContactedByAdvertiser() {
		return contactedByAdvertiser;
	}

	public void setContactedByAdvertiser(Set<Advertiser> contactedByAdvertiser) {
		this.contactedByAdvertiser = contactedByAdvertiser;
	}

	public Set<Advert> getApplicationsForAdvert() {
		return applicationsForAdvert;
	}

	public void setApplicationsForAdvert(Set<Advert> applicationsForAdvert) {
		this.applicationsForAdvert = applicationsForAdvert;
	}

	@Override
	public String toString() {

		return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
				.append(super.toString())
				.append("birthDate", birthDate)
				.append("gender", gender)
				.append("folderWithCv", folderWithCv)
				.toString();
	}

	public String getIndexedDocumentId() {
		return indexedDocumentId;
	}

	public void setIndexedDocumentId(String indexedDocumentId) {
		this.indexedDocumentId = indexedDocumentId;
	}

}
